home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 13843 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.7 KB

  1. Path: locutus.rchland.ibm.com!usenet
  2. From: Philip Staite <pstaite+@rchland.ibm.com>
  3. Newsgroups: comp.lang.smalltalk,comp.object,comp.lang.c++,comp.lang.java
  4. Subject: Re: The Good, the Bad, the Ugly, and the Wicked ...
  5. Date: Wed, 27 Mar 1996 11:49:00 -0600
  6. Organization: IBM Rochester, MN
  7. Message-ID: <31597F8C.167E@rchland.ibm.com>
  8. References: <31570B8E.5A12@vmark.com>
  9. NNTP-Posting-Host: powertool.rchland.ibm.com
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.01 (X11; I; AIX 1)
  14.  
  15. Jeff Sutherland wrote:
  16.  
  17. > The paper incorporates a table with ratings (1) Good, (3) Bad,
  18. > and (2) Ugly. The target environment is a typical business system
  19. > built in an MIS shop, i.e. not a number crunching scientific application
  20. > which would be best written in C++ and optimized to the point where
  21. > it was really just C code in disguise.
  22.  
  23. >                                         ST      C++     OOC     Java
  24. > Flexibility     Dynamic Binding         1       2       2       2
  25. >                 Dynamic Classes         1       3       1       2
  26. >                 Multiple Inheritance    3       2       2       3
  27. >                 Roles                   2       3       3       1
  28. > Ease of use     Class Libraries         1       3       3       2
  29. >                 Learning Curve          1       3       2       1
  30. >                 Speed of Development    1       3       2       2
  31. >                 Portability             2       3       3       1
  32. > Support         Tools                   1       1       3       3
  33. >                 Multiple Vendors        2       1       3       1
  34. > Performance                             2       1       3       3
  35. > Risk            Garbage Collection      1       3       3       2
  36. >                 Memory Leaks            1       3       1       1
  37. >                 Overwriting Memory      1       3       1       1
  38. >                 Ready for Prime Time    1       1       2       3
  39. > TOTAL           (low means best)        21      35      34      28
  40.  
  41. It appears you want to "grade" these languages at a semi-realworld
  42. level, instead of from the standpoint of pure CS/theory.
  43.  
  44. However, you hardly provide any details on the task(s) the languages
  45. would be put to use on...  This table assumes that:
  46.  
  47. a) The relationship between good, bad, and ugly is the proportion
  48. 1:2:3...  You're sure it's not 1, 3, 4 or 1, 1.5, 7 ???  Is being "ugly"
  49. really 3x worse than being "good?"
  50.  
  51. b) The relationship of good, bad, and ugly is constant for the languages
  52. regardless of the projects where the IS shop might use them.
  53.  
  54. c) That all features/characteristics of the languages have equal weight.
  55. You're sure the IS shop thinks that having multiple vendors is just as
  56. important as dynamic binding?
  57.  
  58. d) Why the mix of langauge features, development environment features,
  59. (third party?) class libraries, and outright subjective opinion? ("ready
  60. for prime time")  Does this compare languages, environments, what?
  61.  
  62. e) Why were these features/characteristics included?  Why were others
  63. excluded?  eg. what is "Overwriting Memory" and why does it deserve a
  64. spot in the table when "cost" doesn't?
  65.  
  66.  
  67. Finally, some specific nit-picks...
  68.  
  69. Why does C++ only get a 2 for dynamic binding?  Is it because it is
  70. statically typed?  If so, split that out as another line...
  71.  
  72. Just how do you justify giving Java a 2 for class libs, and C++ a 3?
  73. How many and varied class libs are available for each?
  74.  
  75. Learning curve?  For who?  If someone has a C background I imagine C++
  76. will be considerably easier to learn than the others.  If someone has a
  77. C++ background Java should be almost a given...  However, the
  78. "completely" OO approach of Smalltalk may make learning it quite
  79. difficult for someone coming from a procedural background...  Just what
  80. is the "base" knowledge level for climbing the learning curve?  If it is
  81. a "big" IS shop they may all know Cobol already so you'd expect OOC to
  82. be the easiest to learn...
  83.  
  84. Why does Java rate a 1 for portability?  Can I go out _today_ and get a
  85. Java environment for DOS?  VMS?  MVS?  AIX, HP/UX, BSD, Linux, SVR5,
  86. Irix?  Mac?  OS/2?  Windows?  The only ones I know about are Win95 and
  87. Solaris.  Maybe I'm way behind here, but as far as I know Java
  88. development environments have been released for only a couple of
  89. platforms, and only a couple of versions of browsers support it *right
  90. now*.
  91.  
  92.  
  93. What about some other features such as:
  94.  
  95. development hosts supported
  96. development host resources needed
  97. execution environment (resources needed)
  98. execution speed
  99. books, other resources and information
  100. talent pool -- how many competent programmers are available
  101.  
  102.  
  103. Overall this appears to be a highly subjective and arbitrary comparison.
  104.  
  105.  
  106. -- 
  107.  
  108. Phil Staite, (507) 253-2529, team OS/2
  109. internet: pstaite@vnet.ibm.com  internal: pstaite@rchland
  110.